<?php
namespace app\official\controller;

use mikkle\tp_wechat\Wechat;
use mikkle\tp_wechat\WechatApi;

use \think\View;

class Index extends WechatApi
{
    protected $options=[
        'token'=>'ASK',
        'appid'=>'wx2f8eea5c8fbe912b',
        'appsecret'=>'a01da6edfbb022821924b87ca5cb7af9',
        'encodingaeskey'=>'',
    ];

    //网站第一次匹配 true 1为匹配
    protected $valid = false;
    
    //是否开启钩子
    protected $isHook = false;

    public function __construct()
    {
        parent::__construct();

        $this->viwq=new View();

        $this->request=request();
    }

    public function auth(){

        //调用父类的index方法
        $this->index();

        $subscribe=$this->returnEventSubscribe();
        $this->weObj->text($subscribe)->reply();

        // 发送定位信息
        // $position=$this->returnMessageLocation();
        // $this->weObj->text($position)->reply();

        // 直接调用回复信息
        $str=$this->returnMessageText();
        $this->weObj->text($str)->reply();
    }

    public function menu(){
        $menu=[
            "button"=>[
                // 第一个按钮
                [
                    "type"=>"view",//页面类型
                    "name"=>"首页",//按钮名称
                    "url"=>"http://clsask.cctsk2109.cn",
                ],
                // 第二个按钮
                [
                    "name"=>"二级菜单",
                    "sub_button"=>[
                        //自定义菜单中只能够打开跟公众号关联的小程序
                        // [
                        //     "type"=>"miniprogram",
                        //     "name"=>"打开小程序",
                        //     "url"=>"http://mp.weixin.qq.com",
                        //     "appid"=>"wx286b93c14bbf93aa",
                        //     "pagepath"=>"pages/lunar/index"
                        // ],
                        [
                            "type"=>"click",
                            "name"=>"赞一下我们",
                            "key"=>"V1001_GOOD"
                        ]
                    ]
                ],
                // 第三个按钮
                [
                    "name"=>"扫码",
                    "sub_button"=>[
                        [
                            "type"=>"scancode_waitmsg",
                            "name"=>"扫码带提示",
                            "key"=>"rselfmenu_0_0",
                            "sub_button"=>[ ]
                        ],
                        [
                            "type"=>"pic_sysphoto",
                            "name"=>"系统拍照发图",
                            "key"=>"rselfmenu_1_0",
                            "sub_button"=>[ ]
                        ]
                    ]
                ]
            ]
        ];

        //php 5.4+ 以上版本 JSON_UNESCAPED_UNICODE 可以实现中文不转码Wechat
        $json=json_encode($menu,JSON_UNESCAPED_UNICODE);

        // 将菜单数据发送给微信的服务器，让公众号生成自定义菜单
        $result=Wechat::menu()->createMenu($json);

        if($result){
            echo "生成自定义菜单成功，取消关注公众号重新查看菜单";
        }else{
            echo "生成自定义菜单失败";
        }
    }

    public function send(){
        if($this->request->isPost()){
            $content=$this->request->param('content','');

            if(empty($content)){
                echo '发送的信息不能为空';
                exit;
            }

            // 发送模板消息
            // echo '发送模板消息'.$content;

            $data=[
                'touser'=>'o2pt853sxEhzRO9y2yQ67HiYX-BI',//接收方openid
                'template_id'=>'frfLi3XV93SHXDr7zT5A6BvXiS-LRI3HWqkMoOE3Elw',//模板id 要去公众平台申请
                'url'=>'http://clsask.cctsk2109.cn',//点击模板信息跳转
                'topcolor'=>'#ff0000',//内容颜色
                'data'=>[
                    'mark'=>[//标题
                        'value'=>'SF123123',
                        'color'=>'#173177'
                    ],
                    'content'=>[
                        'value'=>$content,
                        'color'=>'#173177'
                    ]
                ]
            ];

            // 防止中文被转码
            $json=json_encode($data,JSON_UNESCAPED_UNICODE);

            $msgid=Wechat::message()->sendTemplateMessage($json);

            // 唱歌返回msgid 失败返回false
            var_dump($msgid);
        }

        return $this->view->fetch();
    }
}
